Skip to content

Conversation

@mattnolting
Copy link
Contributor

Relates to: #11624

Included components:

  • Jump Links
  • Label
  • Login Page
  • Masthead
  • Modal

Component tracker

Figma preview

Resources:

@mattnolting mattnolting marked this pull request as ready for review June 12, 2025 11:57
@mattnolting mattnolting requested review from evwilkin and kmcfaul June 12, 2025 11:57
@patternfly-build
Copy link
Collaborator

patternfly-build commented Jun 12, 2025

@nicolethoen nicolethoen self-requested a review June 12, 2025 14:13
props: {
children: figma.children('*')
},
example: (props) => <MastheadToggle>{props.children}</MastheadToggle>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we tell them that this is intended to be a button with an onClick handler for toggling open and closed the sidebar nav?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be a good comment to have.

},
example: (props) => (
// Documentation for Modal can be found at https://www.patternfly.org/components/modal
<Modal variant={props.size}>{props.children}</Modal>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will have the same issues as the AboutModal where the Modal will not appear unless it has isOpen={true} but really they probably want a button which will allow them to open/close the modal...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also invalid...
It needs a header, body, and footer. It'll also need a close button of some kind

Screenshot 2025-06-12 at 10 44 01 AM

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This applies for the AlertModal figma cc as well, it also needs the header/body/footer. children probably maps to the ModalBody content I would expect, and the rest could be stubbed out.

Modal would also benefit from having aria-labelledby and aria-describedby stubbed out with ids matching the respective ModalHeader and ModalBody.

},
example: (props) => (
// Documentation for Modal can be found at https://www.patternfly.org/components/modal
<Modal variant={props.size}>{props.children}</Modal>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't have alert modals?

we have a title icon which lets them specify a status to add the correct icon to the header?
https://www.patternfly.org/components/modal#title-icon

props: {
children: figma.children('*')
},
example: (props) => <MastheadToggle>{props.children}</MastheadToggle>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be a good comment to have.

},
example: (props) => (
// Documentation for Modal can be found at https://www.patternfly.org/components/modal
<Modal variant={props.size}>{props.children}</Modal>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This applies for the AlertModal figma cc as well, it also needs the header/body/footer. children probably maps to the ModalBody content I would expect, and the rest could be stubbed out.

Modal would also benefit from having aria-labelledby and aria-describedby stubbed out with ids matching the respective ModalHeader and ModalBody.

@mattnolting mattnolting marked this pull request as draft June 17, 2025 14:54
@mattnolting mattnolting marked this pull request as ready for review June 24, 2025 15:22
@mattnolting mattnolting force-pushed the feat-CC-batch-6 branch 3 times, most recently from 1a3bec5 to 92b1f2d Compare July 31, 2025 19:31
@mattnolting mattnolting force-pushed the feat-CC-batch-6 branch 2 times, most recently from 00d0f3f to 6ba426e Compare September 4, 2025 14:46
Copy link
Contributor

@nicolethoen nicolethoen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only one issue I see in this last pass through

addLabelControl={props.addLabelControl}
categoryName="Group label"
isClosable
isEditable
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IsClosable & isEditable are both features that i'd imagine are not present in most label groups and I would be suprised if they are enabled on all Figma designs. We might want to talk through the types of LabelGroups that designers can choose between and make sure each feature is implemented intentionally.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great point, I opened #1451 to track discussion topics moving forward.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, I left isClosable and removed isEditable for the current integration. This approach aligns with figma's component presentation.


children: figma.children('*')
},
example: (props) => <JumpLinks label={props.label}>{props.children}</JumpLinks>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably want to set aria-label here since label isn't always defined (by default it gets set to the label).

children: figma.children('*')
},
example: (props) => (
<JumpLinks isVertical label={props.label}>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same aria-label note as above.

{
props: {
// string
labelGroupName: figma.string('Label group name'),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is unused.

example: (props) => (
<Label isCompact={props.isCompact} isEditable={props.isEditable} color={props.color} variant={props.variant}>
{props.children}
{props.labelText}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

labelText and children seem to be redundant here, unless Figma has multiple content items?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kmcfaul updated! Icon is now returned by via status prop.

socialMediaLoginContent={socialMediaLoginContent}
socialMediaLoginAriaLabel="Log in with social media"
signUpForAccountMessage={signUpForAccountMessage}
forgotCredentials={forgotCredentialsprops.isInvalid}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a lot of undefined props here, but I think this may be okay enough for a LoginPage stub. wdyt @nicolethoen?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed w/@kmcfaul, we think its configuration is acceptable.

},
example: (props) => {
/* eslint-disable */
const [activeItem, setActiveItem] = useState(0);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We haven't been putting stubs in for state in other components so I'm unsure if we need it, but I think it's probably fine since activeItem is referenced in Nav block.

aria-labelledby="<modal-id>"
aria-describedby="<modal-body>"
isOpen={true}
onClick={() => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be onClose.

aria-labelledby="<modal-id>"
aria-describedby="<modal-body>"
isOpen={true}
onClose={() => {}} // handles the close button
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should call setIsOpen(!isOpen) if we're going to stub out the state.

@mattnolting
Copy link
Contributor Author

@kmcfaul I've addressed all of your comments/questions. It's ready for re-review. Side note: there are comments (top of file) noting the need for prop assignment for designers.

false: undefined
})
},
example: (props) => <Label onClose={props.isCloseable}>{props.labelText}</Label>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add hasCounter
add count
add hasCloseButton

Comment on lines 7 to 9
// string
text: figma.string('Text'),

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not using text prop

socialMediaLoginContent={socialMediaLoginContent}
socialMediaLoginAriaLabel="Log in with social media"
signUpForAccountMessage={signUpForAccountMessage}
forgotCredentials={forgotCredentialsprops.isInvalid}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Discussed w/@kmcfaul, we think its configuration is acceptable.

@nicolethoen nicolethoen merged commit d316364 into patternfly:main Oct 24, 2025
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants